package cn.hsw.platform.repository;

import cn.hsw.platform.core.base.BaseRepository;
import cn.hsw.platform.model.UserModel;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

/**
 * 用户 repository
 * @author 李子木
 */
public interface UserRepository extends BaseRepository<UserModel,Long> {
    /**
     * 根据用户名或手机号查询用户
     * @param userName 用户名
     * @param phone 手机号
     * @return 用户
     */
    UserModel findByUserNameOrPhone(String userName, String phone);

    /**
     * 通过用户名查询
     * @param userName 用户名
     * @return 用户
     */
    UserModel findByUserName(String userName);

    /**
     * 通过手机号查询
     * @param phone 手机号
     * @return 用户
     */
    UserModel findByPhone(String phone);

    /**
     * 通过用户名和手机号模糊查询
     * @param userName 用户名
     * @param phone 手机号
     * @param pageable 分页信息
     * @return UserModel Page
     */
    Page<UserModel> findByUserNameLikeAndPhoneLike(String userName, String phone, Pageable pageable);
}
